﻿using Microsoft.Xna.Framework.Input;

namespace GameLibrary.Input
{
    public class CKeyBoard
    {
        #region keysinfo
        //KEY-DISCRIPTION
        //A 	A key
        //Add 	Add key
        //Apps 	Applications key
        //Attn 	Attn key
        //B 	B key
        //Back 	BACKSPACE key
        //BrowserBack 	Windows 2000/XP: Browser Back key
        //BrowserFavorites 	Windows 2000/XP: Browser Favorites key
        //BrowserForward 	Windows 2000/XP: Browser Forward key
        //BrowserHome 	Windows 2000/XP: Browser Start and Home key
        //BrowserRefresh 	Windows 2000/XP: Browser Refresh key
        //BrowserSearch 	Windows 2000/XP: Browser Search key
        //BrowserStop 	Windows 2000/XP: Browser Stop key
        //C 	C key
        //CapsLock 	CAPS LOCK key
        //ChatPadGreen 	Green ChatPad key
        //ChatPadOrange 	Orange ChatPad key
        //Crsel 	CrSel key
        //D 	D key
        //D0 	Used for miscellaneous characters; it can vary by keyboard.
        //D1 	Used for miscellaneous characters; it can vary by keyboard.
        //D2 	Used for miscellaneous characters; it can vary by keyboard.
        //D3 	Used for miscellaneous characters; it can vary by keyboard.
        //D4 	Used for miscellaneous characters; it can vary by keyboard.
        //D5 	Used for miscellaneous characters; it can vary by keyboard.
        //D6 	Used for miscellaneous characters; it can vary by keyboard.
        //D7 	Used for miscellaneous characters; it can vary by keyboard.
        //D8 	Used for miscellaneous characters; it can vary by keyboard.
        //D9 	Used for miscellaneous characters; it can vary by keyboard.
        //Decimal 	Decimal key
        //Delete 	DEL key
        //Divide 	Divide key
        //Down 	DOWN ARROW key
        //E 	E key
        //End 	END key
        //Enter 	ENTER key
        //EraseEof 	Erase EOF key
        //Escape 	ESC key
        //Execute 	EXECUTE key
        //Exsel 	ExSel key
        //F 	F key
        //F1 	F1 key
        //F10 	F10 key
        //F11 	F11 key
        //F12 	F12 key
        //F13 	F13 key
        //F14 	F14 key
        //F15 	F15 key
        //F16 	F16 key
        //F17 	F17 key
        //F18 	F18 key
        //F19 	F19 key
        //F2 	F2 key
        //F20 	F20 key
        //F21 	F21 key
        //F22 	F22 key
        //F23 	F23 key
        //F24 	F24 key
        //F3 	F3 key
        //F4 	F4 key
        //F5 	F5 key
        //F6 	F6 key
        //F7 	F7 key
        //F8 	F8 key
        //F9 	F9 key
        //G 	G key
        //H 	H key
        //Help 	HELP key
        //Home 	HOME key
        //I 	I key
        //ImeConvert 	IME Convert key
        //ImeNoConvert 	IME NoConvert key
        //Insert 	INS key
        //J 	J key
        //K 	K key
        //Kana 	Kana key on Japanese keyboards
        //Kanji 	Kanji key on Japanese keyboards
        //L 	L key
        //LaunchApplication1 	Windows 2000/XP: Start Application 1 key
        //LaunchApplication2 	Windows 2000/XP: Start Application 2 key
        //LaunchMail 	Windows 2000/XP: Start Mail key
        //Left 	LEFT ARROW key
        //LeftAlt 	Left ALT key
        //LeftControl 	Left CONTROL key
        //LeftShift 	Left SHIFT key
        //LeftWindows 	Left Windows key
        //M 	M key
        //MediaNextTrack 	Windows 2000/XP: Next Track key
        //MediaPlayPause 	Windows 2000/XP: Play/Pause Media key
        //MediaPreviousTrack 	Windows 2000/XP: Previous Track key
        //MediaStop 	Windows 2000/XP: Stop Media key
        //Multiply 	Multiply key
        //N 	N key
        //None 	Reserved
        //NumLock 	NUM LOCK key
        //NumPad0 	Numeric keypad 0 key
        //NumPad1 	Numeric keypad 1 key
        //NumPad2 	Numeric keypad 2 key
        //NumPad3 	Numeric keypad 3 key
        //NumPad4 	Numeric keypad 4 key
        //NumPad5 	Numeric keypad 5 key
        //NumPad6 	Numeric keypad 6 key
        //NumPad7 	Numeric keypad 7 key
        //NumPad8 	Numeric keypad 8 key
        //NumPad9 	Numeric keypad 9 key
        //O 	O key
        //Oem8 	Used for miscellaneous characters; it can vary by keyboard.
        //OemAuto 	OEM Auto key
        //OemBackslash 	Windows 2000/XP: The OEM angle bracket or backslash key on the RT 102 key keyboard
        //OemClear 	CLEAR key
        //OemCloseBrackets 	Windows 2000/XP: The OEM close bracket key on a US standard keyboard
        //OemComma 	Windows 2000/XP: For any country/region, the ',' key
        //OemCopy 	OEM Copy key
        //OemEnlW 	OEM Enlarge Window key
        //OemMinus 	Windows 2000/XP: For any country/region, the '-' key
        //OemOpenBrackets 	Windows 2000/XP: The OEM open bracket key on a US standard keyboard
        //OemPeriod 	Windows 2000/XP: For any country/region, the '.' key
        //OemPipe 	Windows 2000/XP: The OEM pipe key on a US standard keyboard
        //OemPlus 	Windows 2000/XP: For any country/region, the '+' key
        //OemQuestion 	Windows 2000/XP: The OEM question mark key on a US standard keyboard
        //OemQuotes 	Windows 2000/XP: The OEM singled/double quote key on a US standard keyboard
        //OemSemicolon 	Windows 2000/XP: The OEM Semicolon key on a US standard keyboard
        //OemTilde 	Windows 2000/XP: The OEM tilde key on a US standard keyboard
        //P 	P key
        //Pa1 	PA1 key
        //PageDown 	PAGE DOWN key
        //PageUp 	PAGE UP key
        //Pause 	PAUSE key
        //Play 	Play key
        //Print 	PRINT key
        //PrintScreen 	PRINT SCREEN key
        //ProcessKey 	Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key
        //Q 	Q key
        //R 	R key
        //Right 	RIGHT ARROW key
        //RightAlt 	Right ALT key
        //RightControl 	Right CONTROL key
        //RightShift 	Right SHIFT key
        //RightWindows 	Right Windows key
        //S 	S key
        //Scroll 	SCROLL LOCK key
        //Select 	SELECT key
        //SelectMedia 	Windows 2000/XP: Select Media key
        //Separator 	Separator key
        //Sleep 	Computer Sleep key
        //Space 	SPACEBAR
        //Subtract 	Subtract key
        //T 	T key
        //Tab 	TAB key
        //U 	U key
        //Up 	UP ARROW key
        //V 	V key
        //VolumeDown 	Windows 2000/XP: Volume Down key
        //VolumeMute 	Windows 2000/XP: Volume Mute key
        //VolumeUp 	Windows 2000/XP: Volume Up key
        //W 	W key
        //X 	X key
        //Y 	Y key
        //Z 	Z key
        //Zoom 	Zoom key
        #endregion

        #region Fields
        public static CKey A = new CKey(Keys.A);
        public static CKey Add = new CKey(Keys.Add);
        public static CKey Attn = new CKey(Keys.Attn);
        public static CKey Apps = new CKey(Keys.Apps);
        public static CKey B = new CKey(Keys.B);
        public static CKey Back = new CKey(Keys.Back);
        public static CKey BrowserBack = new CKey(Keys.BrowserBack);
        public static CKey BrowserFavorites = new CKey(Keys.BrowserFavorites);
        public static CKey BrowserForward = new CKey(Keys.BrowserForward);
        public static CKey BrowserHome = new CKey(Keys.BrowserHome);
        public static CKey BrowserRefresh = new CKey(Keys.BrowserRefresh);
        public static CKey BrowserSearch = new CKey(Keys.BrowserSearch);
        public static CKey BrowserStop = new CKey(Keys.BrowserStop);
        public static CKey C = new CKey(Keys.C);
        public static CKey CapsLock = new CKey(Keys.CapsLock);
        public static CKey ChatPadOrange = new CKey(Keys.ChatPadOrange);
        public static CKey ChatPadGreen = new CKey(Keys.ChatPadGreen);
        public static CKey Crsel = new CKey(Keys.Crsel);
        public static CKey D = new CKey(Keys.D);
        public static CKey D0 = new CKey(Keys.D0);
        public static CKey D1 = new CKey(Keys.D1);
        public static CKey D2 = new CKey(Keys.D2);
        public static CKey D3 = new CKey(Keys.D3);
        public static CKey D4 = new CKey(Keys.D4);
        public static CKey D5 = new CKey(Keys.D5);
        public static CKey D6 = new CKey(Keys.D6);
        public static CKey D7 = new CKey(Keys.D7);
        public static CKey D8 = new CKey(Keys.D8);
        public static CKey D9 = new CKey(Keys.D9);
        public static CKey Decimal = new CKey(Keys.Decimal);
        public static CKey Delete = new CKey(Keys.Delete);
        public static CKey Divide = new CKey(Keys.Divide);
        public static CKey Down = new CKey(Keys.Down);
        public static CKey E = new CKey(Keys.E);
        public static CKey End = new CKey(Keys.End);
        public static CKey Enter = new CKey(Keys.Enter);
        public static CKey EraseEof = new CKey(Keys.EraseEof);
        public static CKey Escape = new CKey(Keys.Escape);
        public static CKey Execute = new CKey(Keys.Execute);
        public static CKey Exsel = new CKey(Keys.Exsel);
        public static CKey F = new CKey(Keys.F);
        public static CKey F1 = new CKey(Keys.F1);
        public static CKey F2 = new CKey(Keys.F2);
        public static CKey F3 = new CKey(Keys.F3);
        public static CKey F4 = new CKey(Keys.F4);
        public static CKey F5 = new CKey(Keys.F5);
        public static CKey F6 = new CKey(Keys.F6);
        public static CKey F7 = new CKey(Keys.F7);
        public static CKey F8 = new CKey(Keys.F8);
        public static CKey F9 = new CKey(Keys.F9);
        public static CKey F10 = new CKey(Keys.F10);
        public static CKey F11 = new CKey(Keys.F11);
        public static CKey F12 = new CKey(Keys.F12);
        public static CKey F13 = new CKey(Keys.F12);
        public static CKey F14 = new CKey(Keys.F13);
        public static CKey F15 = new CKey(Keys.F14);
        public static CKey F16 = new CKey(Keys.F15);
        public static CKey F17 = new CKey(Keys.F16);
        public static CKey F18 = new CKey(Keys.F17);
        public static CKey F19 = new CKey(Keys.F18);
        public static CKey F20 = new CKey(Keys.F20);
        public static CKey F21 = new CKey(Keys.F21);
        public static CKey F22 = new CKey(Keys.F22);
        public static CKey F23 = new CKey(Keys.F23);
        public static CKey F24 = new CKey(Keys.F24);
        public static CKey G = new CKey(Keys.G);
        public static CKey H = new CKey(Keys.H);
        public static CKey Help = new CKey(Keys.Help);
        public static CKey Home = new CKey(Keys.Home);
        public static CKey I = new CKey(Keys.I);
        public static CKey ImeConvert = new CKey(Keys.ImeConvert);
        public static CKey ImeNoConvert = new CKey(Keys.ImeNoConvert);
        public static CKey Insert = new CKey(Keys.Insert);
        public static CKey J = new CKey(Keys.J);
        public static CKey K = new CKey(Keys.K);
        public static CKey Kana = new CKey(Keys.Kana);
        public static CKey Kanji = new CKey(Keys.Kanji);
        public static CKey L = new CKey(Keys.L);
        public static CKey LaunchApplication1 = new CKey(Keys.LaunchApplication1);
        public static CKey LaunchApplication2 = new CKey(Keys.LaunchApplication2);
        public static CKey LaunchMail = new CKey(Keys.LaunchMail);
        public static CKey Left = new CKey(Keys.Left);
        public static CKey LeftAlt = new CKey(Keys.LeftAlt);
        public static CKey LeftControl = new CKey(Keys.LeftControl);
        public static CKey LeftShift = new CKey(Keys.LeftShift);
        public static CKey LeftWindows = new CKey(Keys.LeftWindows);
        public static CKey M = new CKey(Keys.M);
        public static CKey MediaNextTrack = new CKey(Keys.MediaNextTrack);
        public static CKey MediaPlayPause = new CKey(Keys.MediaPlayPause);
        public static CKey MediaPreviousTrack = new CKey(Keys.MediaPreviousTrack);
        public static CKey MediaStop = new CKey(Keys.MediaStop);
        public static CKey Multiply = new CKey(Keys.Multiply);
        public static CKey N = new CKey(Keys.N);
        public static CKey None = new CKey(Keys.None);
        public static CKey NumLock = new CKey(Keys.NumLock);
        public static CKey NumPad0 = new CKey(Keys.NumPad0);
        public static CKey NumPad1 = new CKey(Keys.NumPad1);
        public static CKey NumPad2 = new CKey(Keys.NumPad2);
        public static CKey NumPad3 = new CKey(Keys.NumPad3);
        public static CKey NumPad4 = new CKey(Keys.NumPad4);
        public static CKey NumPad5 = new CKey(Keys.NumPad5);
        public static CKey NumPad6 = new CKey(Keys.NumPad6);
        public static CKey NumPad7 = new CKey(Keys.NumPad7);
        public static CKey NumPad8 = new CKey(Keys.NumPad8);
        public static CKey NumPad9 = new CKey(Keys.NumPad9);
        public static CKey O = new CKey(Keys.O);
        public static CKey Oem8 = new CKey(Keys.Oem8);
        public static CKey OemAuto = new CKey(Keys.OemAuto);
        public static CKey OemBackslash = new CKey(Keys.OemBackslash);
        public static CKey OemClear = new CKey(Keys.OemClear);
        public static CKey OemCloseBrackets = new CKey(Keys.OemCloseBrackets);
        public static CKey OemComma = new CKey(Keys.OemComma);
        public static CKey OemCopy = new CKey(Keys.OemCopy);
        public static CKey OemEnlW = new CKey(Keys.OemEnlW);
        public static CKey OemMinus = new CKey(Keys.OemMinus);
        public static CKey OemOpenBrackets = new CKey(Keys.OemOpenBrackets);
        public static CKey OemPeriod = new CKey(Keys.OemPeriod);
        public static CKey OemPipe = new CKey(Keys.OemPipe);
        public static CKey OemPlus = new CKey(Keys.OemPlus);
        public static CKey OemQuestion = new CKey(Keys.OemQuestion);
        public static CKey OemQuotes = new CKey(Keys.OemQuotes);
        public static CKey OemSemicolon = new CKey(Keys.OemSemicolon);
        public static CKey OemTilde = new CKey(Keys.OemTilde);
        public static CKey P = new CKey(Keys.P);
        public static CKey Pa1 = new CKey(Keys.Pa1);
        public static CKey PageDown = new CKey(Keys.PageDown);
        public static CKey Pause = new CKey(Keys.Pause);
        public static CKey PageUp = new CKey(Keys.PageUp);
        public static CKey Play = new CKey(Keys.Play);
        public static CKey Print = new CKey(Keys.Print);
        public static CKey PrintScreen = new CKey(Keys.PrintScreen);
        public static CKey ProcessKey = new CKey(Keys.ProcessKey);
        public static CKey Q = new CKey(Keys.Q);
        public static CKey R = new CKey(Keys.R);
        public static CKey Right = new CKey(Keys.Right);
        public static CKey RightAlt = new CKey(Keys.RightAlt);
        public static CKey RightControl = new CKey(Keys.RightControl);
        public static CKey RightShift = new CKey(Keys.RightShift);
        public static CKey RightWindows = new CKey(Keys.RightWindows);
        public static CKey S = new CKey(Keys.S);
        public static CKey Scroll = new CKey(Keys.Scroll);
        public static CKey Select = new CKey(Keys.Select);
        public static CKey SelectMedia = new CKey(Keys.SelectMedia);
        public static CKey Separator = new CKey(Keys.Separator);
        public static CKey Sleep = new CKey(Keys.Sleep);
        public static CKey Space = new CKey(Keys.Space);
        public static CKey Subtract = new CKey(Keys.Subtract);
        public static CKey T = new CKey(Keys.T);
        public static CKey Tab = new CKey(Keys.Tab);
        public static CKey U = new CKey(Keys.U);
        public static CKey Up = new CKey(Keys.Up);
        public static CKey V = new CKey(Keys.V);
        public static CKey VolumeDown = new CKey(Keys.VolumeDown);
        public static CKey VolumeMute = new CKey(Keys.VolumeMute);
        public static CKey VolumeUp = new CKey(Keys.VolumeUp);
        public static CKey W = new CKey(Keys.W);
        public static CKey X = new CKey(Keys.X);
        public static CKey Y = new CKey(Keys.Y);
        public static CKey Z = new CKey(Keys.Z);
        public static CKey Zoom = new CKey(Keys.Zoom);
        #endregion

        #region Update
        public static void Update()
        {
            A.Update();
            Add.Update();
            Apps.Update();
            Attn.Update();
            B.Update();
            Back.Update();
            BrowserBack.Update();
            BrowserFavorites.Update();
            BrowserForward.Update();
            BrowserHome.Update();
            BrowserRefresh.Update();
            BrowserSearch.Update();
            BrowserStop.Update();
            C.Update();
            CapsLock.Update();
            ChatPadGreen.Update();
            ChatPadOrange.Update();
            Crsel.Update();
            D.Update();
            D0.Update();
            D1.Update();
            D2.Update();
            D3.Update();
            D4.Update();
            D5.Update();
            D6.Update();
            D7.Update();
            D8.Update();
            D9.Update();
            Decimal.Update();
            Delete.Update();
            Divide.Update();
            Down.Update();
            E.Update();
            End.Update();
            Enter.Update();
            EraseEof.Update();
            Escape.Update();
            Execute.Update();
            Exsel.Update();
            F.Update();
            F1.Update();
            F10.Update();
            F11.Update();
            F12.Update();
            F13.Update();
            F14.Update();
            F15.Update();
            F16.Update();
            F17.Update();
            F18.Update();
            F19.Update();
            F2.Update();
            F20.Update();
            F21.Update();
            F22.Update();
            F23.Update();
            F24.Update();
            F3.Update();
            F4.Update();
            F5.Update();
            F6.Update();
            F7.Update();
            F8.Update();
            F9.Update();
            G.Update();
            H.Update();
            Help.Update();
            Home.Update();
            I.Update();
            ImeConvert.Update();
            ImeNoConvert.Update();
            Insert.Update();
            J.Update();
            K.Update();
            Kana.Update();
            Kanji.Update();
            L.Update();
            LaunchApplication1.Update();
            LaunchApplication2.Update();
            LaunchMail.Update();
            Left.Update();
            LeftAlt.Update();
            LeftControl.Update();
            LeftShift.Update();
            LeftWindows.Update();
            M.Update();
            MediaNextTrack.Update();
            MediaPlayPause.Update();
            MediaPreviousTrack.Update();
            MediaStop.Update();
            Multiply.Update();
            N.Update();
            None.Update();
            NumLock.Update();
            NumPad0.Update();
            NumPad1.Update();
            NumPad2.Update();
            NumPad3.Update();
            NumPad4.Update();
            NumPad5.Update();
            NumPad6.Update();
            NumPad7.Update();
            NumPad8.Update();
            NumPad9.Update();
            O.Update();
            Oem8.Update();
            OemAuto.Update();
            OemBackslash.Update();
            OemClear.Update();
            OemCloseBrackets.Update();
            OemComma.Update();
            OemCopy.Update();
            OemEnlW.Update();
            OemMinus.Update();
            OemOpenBrackets.Update();
            OemPeriod.Update();
            OemPipe.Update();
            OemPlus.Update();
            OemQuestion.Update();
            OemQuotes.Update();
            OemSemicolon.Update();
            OemTilde.Update();
            P.Update();
            Pa1.Update();
            PageDown.Update();
            PageUp.Update();
            Pause.Update();
            Play.Update();
            Print.Update();
            PrintScreen.Update();
            ProcessKey.Update();
            Q.Update();
            R.Update();
            Right.Update();
            RightAlt.Update();
            RightControl.Update();
            RightShift.Update();
            RightWindows.Update();
            S.Update();
            Scroll.Update();
            Select.Update();
            SelectMedia.Update();
            Separator.Update();
            Sleep.Update();
            Space.Update();
            Subtract.Update();
            T.Update();
            Tab.Update();
            U.Update();
            Up.Update();
            V.Update();
            VolumeDown.Update();
            VolumeMute.Update();
            VolumeUp.Update();
            W.Update();
            X.Update();
            Y.Update();
            Z.Update();
            Zoom.Update();
        }
        #endregion
    }
}
